

#ifndef ZOLEAUTO_H
#define ZOLEAUTO_H

#include "zadesk.h"
#ifdef _ZSOFT_WINDOWS_
#include "zdbmain.h"
#include <wtypes.h>
#pragma pack (push, 8)

class UcAxOleLinkManager
{
public:

    virtual IUnknown* GetIUnknown(UcDbObject* pObject) = 0;

    virtual ZSoft::Boolean SetIUnknown(UcDbObject* pObject, IUnknown* pUnknown) = 0;

    virtual IUnknown* GetIUnknown(UcDbDatabase* pDatabase) = 0;

    virtual ZSoft::Boolean SetIUnknown(UcDbDatabase* pDatabase, IUnknown* pUnknown) = 0;

    virtual IDispatch* GetDocIDispatch(UcDbDatabase* pDatabase) = 0;

    virtual ZSoft::Boolean SetDocIDispatch(UcDbDatabase* pDatabase, IDispatch* pDispatch) = 0;
    virtual IUnknown* GetIUnknown(UcDbObject* pObject,
        const UcDbSubentId &id) = 0;
    virtual ZSoft::Boolean SetIUnknown(UcDbObject* pObject,
        const UcDbSubentId &id, IUnknown* pUnknown) = 0;
};

UcAxOleLinkManager* UcAxGetOleLinkManager();

#pragma pack (pop)
#endif
#endif 
